

var ShoppingCartScript = {

    InitAnimation:function(){
        $("#orderBegin").click(function(){
            $("#orderWrap").slideToggle('1000');
        });
    },

    InitDateTimePicker: function(){
        $("#date").datetimepicker({
            dateFormat: 'yyyy/mm/dd'
        });
    },
    
    init:function(){
        ShoppingCartScript.InitAnimation();
        ShoppingCartScript.InitDateTimePicker();
    }
}


var CreateOrderScript={

    InitValidate:function(){
        var validName=false,validEmail=false,validPhone=false,validCapcha=false;
        $("#orderName").change(function(){
            if(!isEmpty($(this).val())){
                $("span[class='orderNameMsg']").html("");
                validName=true;
                if(validName&&validEmail&&validPhone&&validCapcha){
                    $("#tdSubmit").html("<input class=\"myInput\" name=\"createOrder\" id=\"createOrder\" type=\"submit\" value=\"Gửi đặt hàng\" style=\"width:175px; color:#ffffff;\">");
                }
            }else{
                $("span[class='orderNameMsg']").html(" (*) ");
                $("#tdSubmit").html("");
            }
        });

        $("#orderEmail").change(function(){
            if(!isEmpty($(this).val())){
                if(isEmailAddress($(this).val())){
                    $("span[class='orderEmailMsg']").html("");
                    validEmail=true;
                    if(validName&&validEmail&&validPhone&&validCapcha){
                        $("#tdSubmit").html("<input class=\"myInput\" name=\"createOrder\" id=\"createOrder\" type=\"submit\" value=\"Gửi đặt hàng\" style=\"width:175px; color:#ffffff;\">");
                    }
                }else{
                    $("span[class='orderEmailMsg']").html(" (*) ");
                    $("#tdSubmit").html("");
                }
            }else{
                $("span[class='orderEmailMsg']").html(" (*) ");
                $("#tdSubmit").html("");
            }
        });

        $("#orderPhone").change(function(){
            if(!isEmpty($(this).val())){
                $("span[class='orderPhoneMsg']").html("");
                validPhone=true;
                if(validName&&validEmail&&validPhone&&validCapcha){
                    $("#tdSubmit").html("<input class=\"myInput\" name=\"createOrder\" id=\"createOrder\" type=\"submit\" value=\"Gửi đặt hàng\" style=\"width:175px; color:#ffffff;\">");
                }
            }else{
                $("span[class='orderPhoneMsg']").html(" (*) ");
                $("#tdSubmit").html("");
            }
        });

        $("#orderCapcha").change(function(){
            if(!isEmpty($(this).val())){
                $("span[class='orderCapchaMsg']").html("");
                validCapcha=true;
                if(validName&&validEmail&&validPhone&&validCapcha){
                    $("#tdSubmit").html("<input class=\"myInput\" name=\"createOrder\" id=\"createOrder\" type=\"submit\" value=\"Gửi đặt hàng\" style=\"width:175px; color:#ffffff;\">");
                }
            }else{
                $("span[class='orderCapchaMsg']").html(" (*) ");
                $("#tdSubmit").html("");
            }
        });
    },

    init:function(){
        CreateOrderScript.InitValidate();
    }
}

function updateCart(id){
    var quantity = validationItemNumber(parseFloat($('input[name=\"quantity-'+id +'\"]').val()));
    $.ajax({
        type:"POST",
        url:"../ajax/ajax.UpdateCart.php",
        data: "code="+id+"&quantity="+quantity,
        success:function(data){
            if(data!=-1){
                //Cập nhật lại giá của item vừa được edit số lượng trong giỏ hàng
                updateTotal(id,quantity);
                if(data==0){
                    $("#messageCart").text("Bạn chưa có sản phẩm nào trong giỏ hàng.");
                }
                else{
                    $("#messageCart").text("Bạn đang có " + data + " sản phẩm trong giỏ hàng");
                }
            }
        }
    });
}

function updateTotal(id,quantity){
    var unitPrice = parseFloat($("#unitPrice-"+id).val());
    var result = unitPrice*quantity;
    var oldTotal = parseFloat($("#_Total-"+id).val());
    var cartTotal = parseFloat($("#_cartTotal").val());
    //Cập nhật lại số lượng item nếu không hợp lệ
    $('input[name=\"quantity-'+id +'\"]').val(quantity);
    //Cập nhật lại giá của item vừa được edit số lượng trong giỏ hàng
    $("#_Total-"+id).val(result);//Giá trị để tính toán
    $("#total-"+id).text(formatCurrency(result)+" VND");//Hiển thị

    //Cập nhật lại giá toàn giỏ hàng
    var total = cartTotal-oldTotal+result;
    $("#_cartTotal").val(total);//Giá trị để tính toán
    $("#cartTotal").text(formatCurrency(total));//Hiển thị
}

function deleteItem(id){
    $("#remove").attr('disabled', true);
    $.ajax({
        type:"POST",
        url:"../ajax/ajax.DeleteInCart.php",
        data: "code="+id,
        success:function(data){
            if(data==0){
                $("#messageCart").text("Bạn chưa có sản phẩm nào trong giỏ hàng.");
            }
            else{
                $("#messageCart").text("Bạn đang có " + data + " sản phẩm trong giỏ hàng");
                $("#cartCount").html(data);
            }
            var oldTotal = parseFloat($("#_Total-"+id).val());
            var cartTotal = parseFloat($("#_cartTotal").val());
            //Trừ đi thành tiền của item được remove
            var total = cartTotal-oldTotal;
            $("#_cartTotal").val(total);//Giá trị để tính toán
            $("#cartTotal").text(formatCurrency(total));//Hiển thị
            $("#tr-"+id).fadeOut('slow');
        //            var count = $("#cartCount").val(); alert(count);
        //            $("#cartCount").val(count-1);
        }
    });
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + ',' +
        num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + num);
}

// kiểm tra xem liệu giá trị nhập vào có phải là con số hay không
function isNumber(val) {
    if (isNaN(val))
    {
        return false;
    }
    else
    {
        return true;
    }
}
//Kiểm tra số lượng nhập vào có hợp lệ?
function validationItemNumber(num) {
    if (isNumber(num) && !isNaN(num)) {
        if (num <= 0) {
            num = 1;
        }
        return num;
    }
    else {
        num = 1;
        return num;
    }
}

function isEmpty(val){
    if(val==""){
        return true;
    }
    else{
        return false;
    }
}

// kiểm tra email hợp lệ
var emailfilter = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
function isEmailAddress(val) {
    if (val.match(emailfilter))
    {
        return true;
    }
    else
    {
        return false;
    }
}




